1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13 public partial class frmBanHang_BomVaGoiSp : Form
14 {
15 public frmBanHang_BomVaGoiSp()
16 {
17 InitializeComponent();
18
19
20 }
21
22 //private int _getIdBomItem = 0;
23 //private int _getIdBom =0;
24 //private string _getChuanMaVach;
25 private string _getTrangThai;
26 //private int _getSoLuong = 0;
27 private DateTime _getNgayBanHang = DateTime.Now ;
28 private int _getIdKhachHang = 0;
29 private string _getLoaiHangHoa = string.Empty;
30
31 private string _getIdBomStr = string.Empty;
32
33 public frmBanHang_BomVaGoiSp(string _IdBomStr, string _LoaiHangHoa, string _TrangThai, DateTime _NgayBanHang, int _IdKhachHang)
34 : this()
35 {
36 _getIdBomStr = _IdBomStr;
37 _getLoaiHangHoa = _LoaiHangHoa;
38 _getTrangThai = _TrangThai;
39 _getNgayBanHang = _NgayBanHang;
40 _getIdKhachHang = _IdKhachHang;
41 }
42
43
44
45 private void btnDong_Click(object sender, EventArgs e)
46 {
47 this.Close();
48 }
49
50 //private void btnThucHien_Click(object sender, EventArgs e)
51 //{
52
53 //}
54
55 //private void txtChuanMaVach_KeyDown(object sender, KeyEventArgs e)
56 //{
57
58 //}
59
60 private void frmBanHang_BomVaGoiSp_Load(object sender, EventArgs e)
61 {
62 this.ActiveControl = txtMaSanPham;
63
64 this.HienThiDanhSachSpKhuyenMai();
65 }
66
67 private void HienThiDanhSachSpKhuyenMai()
68 {
69 DataTable dtBomItem = new DataTable();
70
71 //da toi uu sql cau lenh select
72 //dtBomItem = Controllers.BomItemCtrl.FillDataSet_BomItem_Get_SpKhuyenMai(0, 0, _getChuanMaVach, "TrangThai", _getSoLuong, DateTime.Now).Tables[0];
73 dtBomItem = Controllers.BomItemCtrl.FillDataSet_BomItem_Get_SpKhuyenMai2(_getIdBomStr, "HangKhuyenMai", _getIdKhachHang, _getNgayBanHang).Tables[0];
74
75 dgvDsKhuyenMai.Rows.Clear();
76 //Ẩn cột đầu tiên
77 dgvDsKhuyenMai.RowHeadersVisible = false;
78 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
79 this.dgvDsKhuyenMai.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
80 this.dgvDsKhuyenMai.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
81 //this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
82
83 this.dgvDsKhuyenMai.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
84 this.dgvDsKhuyenMai.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
85
86 this.dgvDsKhuyenMai.Columns["GiaBan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
87 this.dgvDsKhuyenMai.Columns["GiaBan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
88
89 this.dgvDsKhuyenMai.Columns["TenDonViTinh"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
90 this.dgvDsKhuyenMai.Columns["TenDonViTinh"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
91
92 int _stt = 0;
93 if (dtBomItem.Rows.Count > 0)
94 {
95 double gban = 0;
96 foreach (DataRow item in dtBomItem.Rows)
97 {
98 _stt += 1;
99 int n = dgvDsKhuyenMai.Rows.Add();
100
101 dgvDsKhuyenMai.Rows[n].Cells["IdBomItem"].Value = item["IdBomItem"].ToString();
102 dgvDsKhuyenMai.Rows[n].Cells["STT"].Value = _stt.ToString();
103 dgvDsKhuyenMai.Rows[n].Cells["ChuanMaVach"].Value = item["ChuanMaVach"].ToString();
104 dgvDsKhuyenMai.Rows[n].Cells["TenSanPham"].Value = item["TenSanPham"].ToString();
105 gban = CauHinhHeThong.Format_SoDeTinhToan( item["GiaBan"].ToString(),false);
106 dgvDsKhuyenMai.Rows[n].Cells["GiaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(gban, true);
107
108 dgvDsKhuyenMai.Rows[n].Cells["TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
109 dgvDsKhuyenMai.Rows[n].Cells["DonViTinhId"].Value = item["DonViTinhId"].ToString();
110 dgvDsKhuyenMai.Rows[n].Cells["IdKho"].Value = item["IdKho"].ToString();
111 dgvDsKhuyenMai.Rows[n].Cells["SoLuong"].Value = item["SoLuong"].ToString();
112
113 /*
114 if (Int32.Parse(item["KiemTraKhuyenMai"].ToString()) == 0)
115 {
116 dgvDsKhuyenMai.Rows[n].Cells["Chon"].Value = "false";
117 }
118 else
119 {
120 dgvDsKhuyenMai.Rows[n].Cells["Chon"].Value = "true";
121 }
122 */
123 }
124 }
125 else
126 {
127 this.Close();
128 }
129 }
130
131 private void txtMaSanPham_KeyDown(object sender, KeyEventArgs e)
132 {
133 if (e.KeyCode == Keys.Enter)
134 {
135 e.SuppressKeyPress = true;
136
137 //int i = 0;
138 int _getIdBanHang = 0;
139 string _maSanPham = txtMaSanPham.Text.Trim();
140 string _tenSanPham = string.Empty;
141 double _giaBan = 0;
142 double _thanhTien = 0;
143 float _soLuong = 0;
144 string _donViTinh = "";
145 int _donViTinhId = 0;
146 int _nhapKhoId_Thanh_IdBomItem = 0;
147
148 double _chietKhauPhanTram = 0;
149 double _thue = 0;
150
151 int trangThai = 2;//là hàng khuyễn mãi
152
153 float _soLuongDaBan = 0;
154
155 DataTable dtUpdateGia = new DataTable();
156 int idBHang = 0;
157 double giaKhuyenMai = 0;
158
159 int demHkm = 0;
160 foreach (DataGridViewRow dataRow in dgvDsKhuyenMai.Rows)
161 {
162 if (dataRow.Cells["ChuanMaVach"].Value.ToString() == _maSanPham)
163 {
164 //if (!bool.Parse(dataRow.Cells["Chon"].Value.ToString()))
165 //{
166 _maSanPham = dataRow.Cells["ChuanMaVach"].Value.ToString();
167 _tenSanPham = dataRow.Cells["TenSanPham"].Value.ToString();
168 _giaBan = CauHinhHeThong.Format_SoDeTinhToan(dataRow.Cells["GiaBan"].Value.ToString(), true);
169
170 _donViTinh = dataRow.Cells["TenDonViTinh"].Value.ToString();
171 _donViTinhId = Int32.Parse(dataRow.Cells["DonViTinhId"].Value.ToString());
172 _soLuong = float.Parse(dataRow.Cells["SoLuong"].Value.ToString());
173 _soLuongDaBan = _soLuong;
174 _nhapKhoId_Thanh_IdBomItem = Int32.Parse(dataRow.Cells["IdBomItem"].Value.ToString());
175
176 _getIdBanHang = Controllers.BanHangCtrl.InsertBanHang(_getIdBanHang, _maSanPham, _tenSanPham, _giaBan, _thanhTien, _soLuong, _donViTinh, _donViTinhId, _getIdKhachHang, _getNgayBanHang, trangThai, _nhapKhoId_Thanh_IdBomItem, _chietKhauPhanTram, _thue, _soLuongDaBan);
177
178 //}
179
180 //i = Controllers.BanHangCtrl.DeleteBanHang(Int32.Parse(dataRow.Cells["IdBanHang"].Value.ToString()));
181 //update gia san pham mua hang tuong uong voi gia trong BOM
182 //lay bomItem dang mua
183 dtUpdateGia = Controllers.BomItemCtrl.FillDataSet_BomItem_Get_ChuanMaVach_Khach_MuaHang(_getIdBomStr, "MuaHang", _getIdKhachHang, _getNgayBanHang).Tables[0];
184 if (dtUpdateGia.Rows.Count > 0)
185 {
186
187 foreach (DataRow item in dtUpdateGia.Rows)
188 {
189 idBHang = Int32.Parse(item["IdBanHang"].ToString());
190 giaKhuyenMai= double.Parse(item["GiaKhuyenMai"].ToString());
191 Controllers.BanHangCtrl.Update_BanHang_Update_GiaKhuyenMai(idBHang, giaKhuyenMai);
192 }
193
194 }
195
196 demHkm = 1;
197 lblThongBao.Visible = true;
198 lblThongBao.Text = "Thêm sp khuyễn mãi Thành công!";
199
200
201 }
202 }
203
204 if (demHkm == 0)
205 {
206 lblThongBao.Text = "THÔNG BÁO: Sp khuyễn mãi Không tồn tại!";
207 lblThongBao.Visible = true;
208 }
209 //3 s thi an
210 var t = new System.Windows.Forms.Timer();
211 t.Interval = 3000; // it will Tick in 3 seconds
212 t.Tick += (s, ex) =>
213 {
214 txtMaSanPham.Text = "";
215 lblThongBao.Visible = false;
216 txtMaSanPham.Focus();
217 t.Stop();
218 };
219 t.Start();
220
221 this.HienThiDanhSachSpKhuyenMai();
222
223
224 }
225
226 }
227
228
229
230 }
231 }